package org.jeecg.modules.ParameterModule.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.ParameterModule.entity.*;

import java.util.List;

public interface TestPlateInfoMapper extends BaseMapper<CountDataInfo> {
    //分页查询品类列表
    IPage<MlccCategoryTestInfo> query_testCategoryPageList(@Param("page") Page<MlccCategoryTestInfo> page, @Param("queryName")String queryName, @Param("queryCode")String queryCode,@Param("pingleiName")String pingleiName);
    //查询所有的品类列表
    List<MlccCategoryInfo> query_allpinglei_list();
    //根据id查询正式的类别详情
    MlccCategoryInfo queryCategoryDetailById(@Param("categoryId")String categoryId);
    //根据编号和类型查询测试的类别
    MlccCategoryTestInfo queryCategoryDetailBytype(@Param("code")String code,@Param("type")int type);

    /**根据品类id查询定制项*/
    List<SmalltemplateTestInfo> query_dingzhiBycategoryId(@Param("category_id")String category_id);
    /**根据品类id查询参数*/
    List<MlccCategoryTestInfo> query_AllcanshuBypingleiId(@Param("category_id")String category_id);
    /**根据品类id查询所有互斥*/
    List<MutexTestInfo> query_AllhuchiBypingleiId(@Param("category_id")String category_id);
    /** //根据品类id查询绣字部位*/
    List<CategoryLocationTestInfo> query_Allxiuzi1BypingleiId(@Param("category_id")String category_id);
    /**根据品类id查询所有绣字颜色*/
    List<EmbroideredColorTestInfo> query_AllxiuziColorBypingleiId(@Param("category_id")String category_id);
    /**根据品类id查询所有绣字字体*/
    List<EmbroideredFontTestInfo> query_AllxiuziFontBypingleiId(@Param("category_id")String category_id);
    /**根据品类id查询所有撞色*/
    List<ContrastcolorTestInfo> query_AllzhuangseBypingleiId(@Param("category_id")String category_id);
    /**根据品类id查询所有净体尺寸*/
    List<BodySizeTestInfo> query_AlljingtiBodysizeBypingleiId(@Param("category_id")String category_id);
    /**根据品类id查询所有返修*/
    List<CategoryFanxiuTestInfo> query_AllFanxiuBypingleiId(@Param("category_id")String category_id);
    /**根据品类id查询所有工艺*/
    List<MlccCategoryTestInfo> query_AllGongyiBypingleiId(@Param("category_id")String category_id);

    /**统计定制项*/
    int count_dingzhi(@Param("category_id")String category_id);
    /**统计互斥项*/
    int count_huchi(@Param("category_id")String category_id);
    /**统计绣字工艺*/
    int count_xiuzi(@Param("category_id")String category_id);
    /**统计撞色项*/
    int count_zhuangse(@Param("category_id")String category_id);
    /**统计净体尺寸*/
    int count_jing_bodysize(@Param("category_id")String category_id);
    /**统计成衣尺寸*/
    int count_cheng_bodysize(@Param("category_id")String category_id);
    /**统计返修项*/
    int count_fanxiu(@Param("category_id")String category_id);
    /**统计工艺类型*/
    int count_gongyi(@Param("category_id")String category_id);
    /**统计绣字颜色*/
    int count_xiuzi_color(@Param("category_id")String category_id);
    /**统计绣字字体*/
    int count_xiuzi_font(@Param("category_id")String category_id);
    /**统计绣字图片*/
    int count_xiuzi_img(@Param("category_id")String category_id);
    /**统计标准码*/
    int count_standardcode(@Param("category_id")String category_id);

    /**新增版号*/
    int add_category_plate(MlccCategoryTestInfo testinfo);
    /**新增定制项*/
    int add_dingzhi(SmalltemplateTestInfo dingzhi);
    /**新增定制项下的参数*/
    int add_dingzhi_canshu(MlccCategoryTestInfo dingzhi);
    /**新增互斥项*/
    int add_huchi(MutexTestInfo mutexTestInfo);
    /**新增定绣字-部位*/
    int add_xiuzi_location(CategoryLocationTestInfo testinfo);
    /**新增定绣字-颜色*/
    int add_xiuzi_color(EmbroideredColorTestInfo testinfo);
    /**新增绣字-字体图片*/
    int add_xiuzi_fontImg(EmbroideredFontTestInfo testinfo);
    /**新增绣字-字体图片-大小价格*/
    int add_xiuzi_fontImgSize(EmbroideredFontTestInfo testinfo);
    /**新增撞色*/
    int add_zhuangse(ContrastcolorTestInfo testinfo);
    /**新增尺寸*/
    int add_testbodySize(BodySizeTestInfo testinfo);
    /**新增返修尺寸*/
    int add_testFanxiuSize(CategoryFanxiuTestInfo testinfo);

    /**编辑定制项*/
    int update_dingzhi(SmalltemplateTestInfo dingzhi);
    /**编辑定制项下的参数*/
    int update_dingzhi_canshu(MlccCategoryTestInfo dingzhi);
    /**编辑互斥项*/
    int update_huchi(MutexTestInfo mutexTestInfo);
    /**编辑绣字-部位*/
    int update_xiuzi_location(CategoryLocationTestInfo testinfo);
    /**编辑绣字-颜色*/
    int update_xiuzi_color(EmbroideredColorTestInfo testinfo);
    /**编辑绣字-字体图片*/
    int update_xiuzi_fontImg(EmbroideredFontTestInfo testinfo);
    /**编辑绣字-高度*/
    int update_xiuzi_fontImgSize(EmbroideredFontTestInfo testinfo);
    /**编辑撞色*/
    int update_zhuangse(ContrastcolorTestInfo testinfo);
    /**编辑尺寸*/
    int update_testbodySize(BodySizeTestInfo testinfo);
    /**编辑返修尺寸*/
    int update_testFanxiuSize(CategoryFanxiuTestInfo testinfo);

    /**删除定制项*/
    int delete_dingzhi(@Param("dingzhi_id")String dingzhi_id);
    /**删除定制项下的参数*/
    int delete_dingzhi_canshu(@Param("canshu_id")String canshu_id);
    /**删除互斥项*/
    int delete_huchi(@Param("huchi_id")String huchi_id);
    /**删除绣字-部位*/
    int delete_xiuzi_location(@Param("id")String id);
    /**删除绣字-颜色*/
    int delete_xiuzi_color(@Param("id")String id);
    /**删除绣字-字体图片*/
    int delete_xiuzi_fontImg(@Param("id")String id);
    /**删除撞色*/
    int delete_zhuangse(@Param("id")String id);
    /**删除尺寸*/
    int delete_testbodySize(@Param("id")String id);
    /**删除返修尺寸*/
    int delete_testfanxiuSize(@Param("id")String id);
    /**删除品类或工艺*/
    int delete_testcategory(@Param("id")String id);

    /**编辑版号*/
    int update_category_plate(MlccCategoryTestInfo testinfo);

    /**根据测试版号id查询最新添加的定制项*/
    List<SmalltemplateTestInfo> query_testdingzhiByBanhaoId(@Param("banhao_id")String banhao_id);
    /**根据品类id查询所有系统加急*/
    List<AddSystemPriceInfo> query_AllsyspriceBypingleiId(@Param("category_id")String category_id,@Param("type")int type);

    /**根据品类id查询所有绣字高度*/
    List<EmbroidedHeightInfo> query_AllHeightBypingleiId(@Param("category_id")String category_id);
    /**新增绣字高度*/
    int add_xiuzi_height(EmbroidedHeightInfo testinfo);
    /**删除绣字高度*/
    int delete_xiuzi_height(@Param("id")String id);
    /**根据条件修改类别状态*/
    int update_category_status(@Param("type")String type,@Param("status")String status,@Param("category_id")String category_id);
    //根据类别id和是否是品类、是否是启用查询
    List<QiyongListInfo> query_UpdatecategoryRecord(@Param("category_id")String category_id,@Param("is_ping")String is_ping,@Param("is_qiyong")String is_qiyong);

    /**根据版号id查询定制项*/
    List<SmalltemplateTestInfo> query_alldingzhiByplateId(@Param("category_id")String category_id);

    /**测试参数列表*/
    IPage<MlccCategoryTestInfo> query_testCanshuPageList(@Param("page")Page<MlccCategoryTestInfo> page,@Param("topcategory_id")String topcategory_id,@Param("module_id")String module_id,@Param("queryName")String queryName);
    /**操作定制项*/
    int change_dingzhi_status(@Param("type")String type,@Param("status")String status,@Param("id")String id);
    /**操作定制项下面的参数*/
    int change_dingzhi_canshu_status(@Param("type")String type,@Param("status")String status,@Param("id")String id);

    /**统计辅料*/
    int count_fuliao(@Param("category_id")String category_id);
    //根据类别id查询版号详情
    MlccCategoryTestInfo query_plateDetailById(@Param("categoryId")String categoryId);
    //根据类型和类别id查询启用记录
    QiyongListInfo query_qiyongRecord_categotyId(@Param("is_ping")String is_ping,@Param("category_id")String category_id);

    /**版号下的里布列表*/
    IPage<CategoryMaterialInfo> query_material_libuPageList(@Param("page") Page<CategoryMaterialInfo> page, @Param("category_id")String category_id,@Param("queryName")String queryName, @Param("queryCode")String queryCode);
    /**版号下的低领里列表*/
    IPage<CategoryMaterialInfo> query_material_dilingliPageList(@Param("page") Page<CategoryMaterialInfo> page,@Param("category_id")String category_id, @Param("queryName")String queryName, @Param("queryCode")String queryCode);
    /**版号下的纽扣列表*/
    IPage<CategoryMaterialInfo> query_material_buttonsPageList(@Param("page") Page<CategoryMaterialInfo> page,@Param("category_id")String category_id, @Param("queryName")String queryName, @Param("queryCode")String queryCode);
    /**新增里布*/
    int add_plate_libu(CategoryMaterialInfo testinfo);
    /**删除里布*/
    int delete_plate_libu(@Param("id")String id);
    /**根据品类id查询所有正式的辅料*/
    List<CategoryMaterialInfo> query_AllfuliaoBypingleiId2(@Param("category_id")String category_id);

    /**测试绣字部位列表*/
    IPage<CategoryLocationTestInfo> query_testlocaltionPageList(@Param("page")Page<CategoryLocationTestInfo> page,@Param("category_id")String category_id,@Param("queryName")String queryName, @Param("queryCode")String queryCode);
    /**测试绣字颜色列表*/
    IPage<EmbroideredColorTestInfo> query_testColorPageList(@Param("page")Page<EmbroideredColorTestInfo> page,@Param("category_id")String category_id,@Param("queryName")String queryName, @Param("queryCode")String queryCode);
    /**测试绣字图片列表*/
    IPage<EmbroideredFontTestInfo> query_testImgPageList(@Param("page")Page<EmbroideredFontTestInfo> page,@Param("category_id")String category_id, @Param("queryName")String queryName, @Param("queryCode")String queryCode);
    /**测试绣字字体列表*/
    IPage<EmbroideredFontTestInfo> query_testFontPageList(@Param("page")Page<EmbroideredFontTestInfo> page,@Param("category_id")String category_id, @Param("queryName")String queryName, @Param("queryCode")String queryCode);

    /**删除定制项*/
    int delete_real_dingzhi(@Param("top_id")String top_id,@Param("code")String code);
    /**删除定制项下的参数*/
    int delete_real_dingzhi_canshu(@Param("top_id")String top_id,@Param("code")String code,@Param("parent_id")String parent_id);
    /**删除绣字-部位*/
    int delete_real_xiuzi_location(@Param("top_id")String top_id,@Param("code")String code);
    /**删除绣字-颜色*/
    int delete_real_xiuzi_color(@Param("top_id")String top_id,@Param("code")String code);
    /**删除绣字-字体图片*/
    int delete_real_xiuzi_fontImg(@Param("top_id")String top_id,@Param("code")String code);
    /**删除绣字-互斥项*/
    int delete_real_huchi(@Param("top_id")String top_id,@Param("code")String code);
    /**删除撞色*/
    int delete_real_zhuahngse(@Param("top_id")String top_id,@Param("code")String code);
    /**删除成衣尺寸*/
    int delete_real_size(@Param("top_id")String top_id,@Param("code")String code);
    /**删除返修*/
    int delete_real_fanxiusize(@Param("top_id")String top_id,@Param("code")String code);
    /**删除工艺*/
    int delete_real_gongyi(@Param("top_id")String top_id,@Param("code")String code);


    /**根据品类id查询所有系统收费项*/
    List<AddSystemPriceInfo> query_AllAddSystemPriceBypingleiId(@Param("category_id")String category_id,@Param("type")int type);
    /**根据编号和上级和定制id查询测试品类详情*/
    MlccCategoryInfo select_zscategoryDetailByother(@Param("category_code")String category_code,@Param("zs_pingleiId")String zs_pingleiId,@Param("dingzhi_id")String dingzhi_id);

    /**执行查询所有参数根据版号id，定制项id*/
    List<MlccCategoryTestInfo> query_AllcanshuByplate_dingzhiId(@Param("category_id")String category_id,@Param("dingzhi_id")String dingzhi_id);

    /**标准码尺寸表--分页--type:1正式，2测试*/
    IPage<StandardCodeInfo> query_standardCode_pagelist(@Param("page")Page<StandardCodeInfo> page,@Param("category_id")String category_id,@Param("queryName")String queryName, @Param("queryTime")String queryTime,@Param("type")String type);
    /**根据版号查询所有标准码尺寸表--type:1正式，2测试*/
    List<StandardCodeInfo> query_standardCodelist(@Param("category_id")String category_id,@Param("type")int type);
    /**根据id查询标准码尺寸详情--type:1正式，2测试*/
    StandardCodeInfo query_standardCodeDetail(@Param("id")String id,@Param("type")int type);
    /**新增标准码--测试*/
    int add_StandardCode(StandardCodeInfo testinfo);
    /**编辑标准码--测试*/
    int update_StandardCode(StandardCodeInfo testinfo);
    /**删除标准码--测试*/
    int delete_StandardCode(@Param("id")String id);

    /**新增标准码--正式*/
    int add_StandardCode_zhengshi(StandardCodeInfo testinfo);
    /**删除标准码--正式*/
    int delete_StandardCode_zhengshi(@Param("id")String id);

    /**修改撞色的状态：1撞色，2尺寸，3返修，4工艺类型*/
    int change_parameter_status(@Param("id")String id,@Param("status")String status,@Param("type")int type);

    /**测试撞色列表*/
    IPage<ContrastcolorTestInfo> query_testzhuangsePageList(@Param("page")Page<ContrastcolorTestInfo> page,@Param("category_id")String category_id,@Param("queryName")String queryName,@Param("queryTime")String queryTime);
    /**身体尺寸查询*/
    IPage<BodySizeTestInfo> query_testBodySizePageList(@Param("page")Page<BodySizeTestInfo> page,@Param("type")String type,@Param("category_id")String category_id,@Param("queryName")String queryName, @Param("queryTime")String queryTime);
    /**返修尺寸查询*/
    IPage<CategoryFanxiuTestInfo> query_testFanxiuSizePageList(@Param("page")Page<CategoryFanxiuTestInfo> page,@Param("category_id")String category_id,@Param("queryName")String queryName,@Param("queryTime")String queryTime);
    /**根据类型查询测试pine类列表*/
    IPage<MlccCategoryTestInfo> query_testCategoryPageListBytype(@Param("page")Page<MlccCategoryTestInfo> page,@Param("category_id")String category_id,@Param("type")String type,@Param("queryName")String queryName,@Param("queryCode")String queryCode);

    /**
     * 一键删除辅料根据类型
     * @param type:0里布，1低领里，2钮扣
     * */
    int real_delete_material(@Param("category_id")String category_id,@Param("type")String type);

    //测试标准码
    /**根据编号查询标准码尺寸详情*/
    StandardCodeInfo query_standardCodeDetailBycode(@Param("code")String code);
    /**真删除删除标准码*/
    int real_delete_standardCode(@Param("id")String id);
}
